package com.fr.base.core.antlr;

import com.fr.base.core.antlr.collections.impl.Vector;

class RuleSymbol extends GrammarSymbol
{
  RuleBlock block;
  boolean defined;
  Vector references = new Vector();
  String access;
  String comment;

  public RuleSymbol(String paramString)
  {
    super(paramString);
  }

  public void addReference(RuleRefElement paramRuleRefElement)
  {
    this.references.appendElement(paramRuleRefElement);
  }

  public RuleBlock getBlock()
  {
    return this.block;
  }

  public RuleRefElement getReference(int paramInt)
  {
    return ((RuleRefElement)this.references.elementAt(paramInt));
  }

  public boolean isDefined()
  {
    return this.defined;
  }

  public int numReferences()
  {
    return this.references.size();
  }

  public void setBlock(RuleBlock paramRuleBlock)
  {
    this.block = paramRuleBlock;
  }

  public void setDefined()
  {
    this.defined = true;
  }
}